home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "short.h" int r636gives_permission_to_any(T636* C){ int R=0; /*IF*/if (/*(IRF4.7is_omitted*/((((T636*)C))->_start_position/*0*/)==(NULL)/*)*/) { R=1; } else if (((((T636*)C))->_list/*4*/)==((void*)(NULL))) { } else { R=r46gives_permission_to_any(((T46*)((((T636*)C))->_list/*4*/))); } /*FI*/return R; } void r636merge(T636* C,T0* a1,T0* a2,T0* a3){ C->_start_position=a1; {T46*n=malloc(sizeof(*n)); *n=M46; r46merge(n,a2,a3); C->_list=(T0*)n; } } void r636make(T636* C,T0* a1,T0* a2){ C->_start_position=a1; /*IF*/if ((a2)!=((void*)(NULL))) { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,a2); C->_list=(T0*)n; } } /*FI*/} /*No:CLIENT_LIST.start_position*/ /*No:CLIENT_LIST.is_omitted*/ int r636gives_permission_to(T636* C,T0* a1){ int R=0; /*IF*/if (/*(IRF4.7is_omitted*/((((T636*)C))->_start_position/*0*/)==(NULL)/*)*/) { R=1; } else if (((((T636*)C))->_list/*4*/)==((void*)(NULL))) { } else { R=r46gives_permission_to(((T46*)((((T636*)C))->_list/*4*/)),a1); } /*FI*//*IF*/if (!(R)) { r683add_position((((T636*)C))->_start_position/*0*/); /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)a1)))->_to_string/*0*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms4_636); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ } /*FI*/return R; } /*No:CLIENT_LIST.list*/ /*No:CLIENT_LIST.omitted*/ T0* r636append(T636* C,T0* a1){ T0* R=NULL; /*IF*/if ((((C)==((void*)(a1)))||(/*(IRF4.7is_omitted*/((((T636*)C))->_start_position/*0*/)==(NULL)/*)*/))||(r636gives_permission_to_any(C))) { R=(T0*)C; } else if ((/*(IRF4.7is_omitted*/((((T636*)((T636*)a1)))->_start_position/*0*/)==(NULL)/*)*/)||(r636gives_permission_to_any(((T636*)a1)))) { R=a1; } else { {T636*n=malloc(sizeof(*n)); *n=M636; r636merge(n,(((T636*)C))->_start_position/*0*/,(((T636*)C))->_list/*4*/,(((T636*)((T636*)a1)))->_list/*4*/); R=(T0*)n; } } /*FI*/return R; } /*No:E_CURRENT.short*/ T0* r358add_comment(T358* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r358to_integer(T358* C){ int R=0; r358error((((T358*)C))->_start_position/*16*/,((T0*)ms69_470)); return R; } /*No:E_CURRENT.bracketed_short*/ int r358is_a(T358* C,T0* a1){ int R=0; R=X291is_a(X291run_type(/*(IRF4.3result_type*/(((T358*)C))->_current_type/*4*//*)*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T358*)C))->_start_position/*16*/); r358error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:E_CURRENT.is_current*/ /*No:E_CURRENT.is_written*/ void r358make(T358* C,T0* a1,int a2){ C->_start_position=a1; C->_is_written=a2; C->_to_string=((T0*)ms143_473); } /*No:E_CURRENT.us_current*/ /*No:E_CURRENT.to_string*/ /*No:E_CURRENT.fz_iinaiv*/ /*No:E_CURRENT.start_position*/ /*No:E_CURRENT.precedence*/ T0* r358to_runnable(T358* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T358*)C))->_current_type/*4*/)==((void*)(NULL))) { C->_current_type=a1; R=(T0*)C; } else if (((((T358*)C))->_current_type/*4*/)==((void*)(a1))) { R=(T0*)C; } else { {T358*n=malloc(sizeof(*n)); *n=M358; r358make(n,(((T358*)C))->_start_position/*16*/,(((T358*)C))->_is_written/*12*/); R=(T0*)n; } /*[IRF3.3set_current_type*/((((T358*)(((T358*)R))))->_current_type)=(a1); /*]*/ } /*FI*/return R; } /*No:E_CURRENT.result_type*/ /*No:E_CURRENT.set_current_type*/ /*No:E_CURRENT.atomic_precedence*/ /*No:E_CURRENT.current_type*/ /*No:E_CURRENT.is_manifest_string*/ /*No:E_CURRENT.is_void*/ void r358error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } void r358short_target(T358* C){ /*IF*/if ((((T358*)C))->_is_written/*12*/) { /*[IRF3.2short*/r580hook_or(((T580*)(oBC364short_print)),((T0*)ms143_473),((T0*)ms143_473)); /*]*/ /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print)); r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470)); }/*]*/ } /*FI*/} void r592make(T592* C,T0* a1,T0* a2){ C->_header_comment=a1; C->_list=a2; } /*No:COMPOUND.nb_errors*/ T0* r592to_runnable(T592* C,T0* a1){ T0* R=NULL; T0* _i2=NULL; T0* _i1=NULL; int _i=0; /*IF*/if (((((T592*)C))->_current_type/*4*/)==((void*)(NULL))) { C->_current_type=a1; /*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) { _i=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/; while (!((_i)==(0))) { _i1=r419item(((T419*)((((T592*)C))->_list/*8*/)),_i); _i2=X465to_runnable(_i1,(T0*)C); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)) { /*[IRF3.6append*/{T0* b1=((T0*)ms1_592); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291written_mark((((T592*)C))->_current_type/*4*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_position(X465start_position(_i1)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_592); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { /*[IRF3.6put*/{T419* C1=((T419*)((((T592*)C))->_list/*8*/)); T0* b1=_i2; int b2=_i; ((((T419*)C1))->_storage/*0*/)[(b2)-((((T419*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/_i=(_i)-(1); } } /*FI*/R=(T0*)C; } else { /*IF*/if (((((T592*)C))->_list/*8*/)==((void*)(NULL))) { {T592*n=malloc(sizeof(*n)); *n=M592; r592make(n,(((T592*)C))->_header_comment/*0*/,NULL); R=(T0*)n; } } else { {T592*n=malloc(sizeof(*n)); *n=M592; r592make(n,(((T592*)C))->_header_comment/*0*/,r419twin(((T419*)((((T592*)C))->_list/*8*/)))); R=(T0*)n; } } /*FI*/R=r592to_runnable(((T592*)R),a1); } /*FI*/return R; } /*No:COMPOUND.list*/ /*No:COMPOUND.current_type*/ T0* r592run_class(T592* C){ T0* R=NULL; R=X291run_class((((T592*)C))->_current_type/*4*/); return R; } /*No:COMPOUND.header_comment*/ /*No:COMPOUND.fatal_error*/ void r529short(T529* C){ X662short((((T529*)C))->_expression/*8*/); } T0* r529add_comment(T529* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r529to_integer(T529* C){ int R=0; r529error(r529start_position(C),((T0*)ms69_470)); return R; } void r529bracketed_short(T529* C){ r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662)); r529short(C); r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662)); } int r529is_a(T529* C,T0* a1){ int R=0; R=X291is_a(X291run_type(r529result_type(C)),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(r529start_position(C)); r529error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:EXPRESSION_WITH_COMMENT.is_current*/ void r529make(T529* C,T0* a1,T0* a2){ C->_expression=a1; C->_comment=a2; } /*No:EXPRESSION_WITH_COMMENT.fz_iinaiv*/ /*No:EXPRESSION_WITH_COMMENT.expression*/ T0* r529start_position(T529* C){ T0* R=NULL; R=X662start_position((((T529*)C))->_expression/*8*/); return R; } int r529precedence(T529* C){ int R=0; R=X662precedence((((T529*)C))->_expression/*8*/); return R; } /*No:EXPRESSION_WITH_COMMENT.comment*/ T0* r529to_runnable(T529* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T529*)C))->_current_type/*4*/)==((void*)(NULL))) { C->_current_type=a1; C->_expression=X662to_runnable((((T529*)C))->_expression/*8*/,a1); R=(T0*)C; } else { R=r529twin(C); /*[IRF3.3set_current_type*/((((T529*)(((T529*)R))))->_current_type)=(NULL); /*]*/ R=r529to_runnable(((T529*)R),a1); } /*FI*/return R; } T0* r529result_type(T529* C){ T0* R=NULL; R=X662result_type((((T529*)C))->_expression/*8*/); return R; } T0* r529twin(T529* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T529*)R)=*C; return R; } /*No:EXPRESSION_WITH_COMMENT.set_current_type*/ /*No:EXPRESSION_WITH_COMMENT.current_type*/ /*No:EXPRESSION_WITH_COMMENT.is_manifest_string*/ /*No:EXPRESSION_WITH_COMMENT.is_void*/ void r529error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } void r529short_target(T529* C){ X662short_target((((T529*)C))->_expression/*8*/); } void r436short(T436* C){ int _i=0; r580hook_or(((T580*)(oBC364short_print)),((T0*)ms2_436),((T0*)ms95_470)); /*IF*/if (((((T436*)C))->_list/*12*/)!=((void*)(NULL))) { _i=1; while (!((_i)>(/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*12*/))))->_upper/*12*/)))) { X662short(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*12*/)),_i))); _i=(_i)+(1); /*IF*/if ((_i)<=(/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*12*/))))->_upper/*12*/))) { r580hook_or(((T580*)(oBC364short_print)),((T0*)ms3_436),((T0*)ms4_436)); } /*FI*/} } /*FI*/r580hook_or(((T580*)(oBC364short_print)),((T0*)ms5_436),((T0*)ms96_470)); } T0* r436add_comment(T436* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r436to_integer(T436* C){ int R=0; r436error((((T436*)C))->_start_position/*8*/,((T0*)ms69_470)); return R; } void r436bracketed_short(T436* C){ r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662)); r436short(C); r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662)); } int r436is_a(T436* C,T0* a1){ int R=0; R=r709is_a(((T709*)((((T709*)((T709*)((((T436*)C))->_result_type/*16*/))))->_run_type/*16*/)),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T436*)C))->_start_position/*8*/); r436error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:MANIFEST_ARRAY.is_current*/ void r436make(T436* C,T0* a1,T0* a2){ C->_start_position=a1; C->_list=a2; } /*No:MANIFEST_ARRAY.nb_errors*/ /*No:MANIFEST_ARRAY.fz_iinaiv*/ /*No:MANIFEST_ARRAY.fz_c_shift_left*/ T0* r436type_any(void){ if (fBC364type_any==0){ T0* R=NULL; fBC364type_any=1; {T669*n=malloc(sizeof(*n)); *n=M669; r669make(n,NULL); R=(T0*)n; } oBC364type_any=R;} return oBC364type_any;} /*No:MANIFEST_ARRAY.start_position*/ /*No:MANIFEST_ARRAY.precedence*/ T0* r436to_runnable(T436* C,T0* a1){ T0* R=NULL; T0* _t=NULL; T0* _e=NULL; int _i=0; /*IF*/if (((((T436*)C))->_current_type/*4*/)==((void*)(NULL))) { C->_current_type=a1; /*IF*/if (((((T436*)C))->_list/*12*/)==((void*)(NULL))) { _t=r436type_any(); } else { _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*12*/))))->_upper/*12*/); while (!((_i)==(0))) { _e=X662to_runnable(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*12*/)),_i)),a1); /*IF*/if ((_e)==((void*)(NULL))) { r683add_position((((T436*)C))->_start_position/*8*/); r436error(X662start_position(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*12*/)),_i))),((T0*)ms1_436)); _i=0; } else { /*X96*//*[IRF3.6put*/{T96* C1=((T96*)((((T436*)C))->_list/*12*/)); T0* b1=_e; int b2=_i; ((((T96*)C1))->_storage/*4*/)[(b2)-((((T96*)C1))->_lower/*16*/)]=(b1); }/*]*/ /*IF*/if ((_t)==((void*)(NULL))) { _t=X662result_type(_e); } else { _t=X291smallest_ancestor(_t,X662result_type(_e)); } /*FI*/_i=(_i)-(1); } /*FI*/} } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { {T709*n=malloc(sizeof(*n)); *n=M709; r709make(n,(((T436*)C))->_start_position/*8*/,X291run_type(_t)); C->_result_type=(T0*)n; } C->_result_type=r709to_runnable(((T709*)((((T436*)C))->_result_type/*16*/)),(((T436*)C))->_current_type/*4*/); r368set_at_run_time(((T368*)(r709run_class(((T709*)((((T436*)C))->_result_type/*16*/)))))); R=(T0*)C; /*IF*/if ((X291is_reference(_t))&&(((((T436*)C))->_list/*12*/)!=((void*)(NULL)))) { _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*12*/))))->_upper/*12*/); while (!((_i)==(0))) { _t=X662result_type(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*12*/)),_i))); /*IF*/if (X291is_expanded(_t)) { X291used_as_reference(_t); } /*FI*/_i=(_i)-(1); } } /*FI*/} /*FI*/} else { /*IF*/if (((((T436*)C))->_list/*12*/)==((void*)(NULL))) { {T436*n=malloc(sizeof(*n)); *n=M436; r436make(n,(((T436*)C))->_start_position/*8*/,NULL); R=(T0*)n; } } else { {T436*n=malloc(sizeof(*n)); *n=M436; r436make(n,(((T436*)C))->_start_position/*8*/,X96twin((((T436*)C))->_list/*12*/)); R=(T0*)n; } } /*FI*/R=r436to_runnable(((T436*)R),a1); } /*FI*/return R; } /*No:MANIFEST_ARRAY.fz_c_shift_right*/ /*No:MANIFEST_ARRAY.result_type*/ /*No:MANIFEST_ARRAY.list*/ /*No:MANIFEST_ARRAY.current_type*/ /*No:MANIFEST_ARRAY.is_manifest_string*/ /*No:MANIFEST_ARRAY.is_void*/ void r436error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } void r436short_target(T436* C){ r436bracketed_short(C); /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print)); r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470)); }/*]*/ } void r644get_started(T644* C,T0* a1){ T0* _rp2=NULL; T0* _rp1=NULL; int _j=0; int _i=0; _i=(((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/; while (!((_i)==(0))) { _rp1=r552item(((T552*)((((T644*)C))->_list/*0*/)),_i); /*IF*/if (!(r605has(((T605*)a1),(((T498*)((T498*)_rp1)))->_old_name/*0*/))) { r683add_position(X776start_position((((T498*)((T498*)_rp1)))->_old_name/*0*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_644); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/_i=(_i)-(1); _j=_i; while (!((_j)==(0))) { _rp2=r552item(((T552*)((((T644*)C))->_list/*0*/)),_j); /*IF*/if ((X776to_key((((T498*)((T498*)_rp2)))->_old_name/*0*/))==((void*)(X776to_key((((T498*)((T498*)_rp1)))->_old_name/*0*/)))) { r683add_position(X776start_position((((T498*)((T498*)_rp1)))->_old_name/*0*/)); r683add_position(X776start_position((((T498*)((T498*)_rp2)))->_old_name/*0*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms4_644); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/_j=(_j)-(1); } } } int r644affect(T644* C,T0* a1){ int R=0; T0* _fn_to_key=NULL; T0* _rp=NULL; int _i=0; _i=(((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/; while (!((R)||((_i)==(0)))) { _rp=r552item(((T552*)((((T644*)C))->_list/*0*/)),_i); _fn_to_key=X776to_key(a1); /*IF*/if (((X776to_key((((T498*)((T498*)_rp)))->_new_name/*4*/))==((void*)(_fn_to_key)))||((X776to_key((((T498*)((T498*)_rp)))->_old_name/*0*/))==((void*)(_fn_to_key)))) { R=1; } else { _i=(_i)-(1); } /*FI*/} return R; } /*No:RENAME_LIST.make*/ T0* r644to_new_name(T644* C,T0* a1){ T0* R=NULL; T0* _fn_to_key=NULL; int _i=0; _i=1; _fn_to_key=X776to_key(a1); while (!(((R)!=((void*)(NULL)))||((_i)>((((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/)))) { /*IF*/if ((X776to_key((((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_old_name/*0*/))==((void*)(_fn_to_key))) { R=(((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_new_name/*4*/; } /*FI*/_i=(_i)+(1); } /*IF*/if ((R)==((void*)(NULL))) { R=a1; } /*FI*/return R; } T0* r644to_old_name(T644* C,T0* a1){ T0* R=NULL; T0* _fn_to_key=NULL; int _i=0; _i=1; _fn_to_key=X776to_key(a1); while (!(((R)!=((void*)(NULL)))||((_i)>((((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/)))) { /*IF*/if ((X776to_key((((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_new_name/*4*/))==((void*)(_fn_to_key))) { R=(((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_old_name/*0*/; } /*FI*/_i=(_i)+(1); } /*IF*/if ((R)==((void*)(NULL))) { R=a1; } /*FI*/return R; } /*No:RENAME_LIST.list*/ /*No:RENAME_LIST.add_last*/ /*No:RENAME_LIST.fatal_error*/ void r388short(T388* C){ r580hook(((T580*)(oBC364short_print)),((T0*)ms1_291)); /*[IRF3.6short_hook*/{T388* C1=C; r580a_class_name(((T580*)(oBC364short_print)),(((T388*)C1))->_base_class_name/*4*/); }/*]*/ r580hook(((T580*)(oBC364short_print)),((T0*)ms2_291)); } int r388has_creation(T388* C,T0* a1){ int R=0; r683add_position(X776start_position(a1)); r388error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T388*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84)); return R; } /*No:TYPE_DOUBLE.is_anchored*/ /*No:TYPE_DOUBLE.is_array*/ int r388is_a(T388* C,T0* a1){ int R=0; /*IF*/if (X291is_double(a1)) { R=1; } else { R=r605is_subclass_of(((T605*)(r388base_class(C))),X291base_class(a1)); /*IF*/if (R) { r388used_as_reference(); } /*FI*/} /*FI*//*IF*/if (!(R)) { r683add_type((T0*)C,((T0*)ms71_470)); r683add_type(a1,((T0*)ms67_470)); } /*FI*/return R; } /*No:TYPE_DOUBLE.run_type*/ /*No:TYPE_DOUBLE.is_pointer*/ /*No:TYPE_DOUBLE.us_double_ref*/ /*No:TYPE_DOUBLE.is_string*/ /*No:TYPE_DOUBLE.is_like_feature*/ /*No:TYPE_DOUBLE.is_like_current*/ void r388make(T388* C,T0* a1){ {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms11_473),a1); C->_base_class_name=(T0*)n; } } /*No:TYPE_DOUBLE.nb_errors*/ /*No:TYPE_DOUBLE.us_item*/ void r388load_ref(T0* a1){ T0* _rf=NULL; T0* _rc=NULL; T0* _cn=NULL; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,a1,NULL); _cn=(T0*)n; } _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn))))); r368set_at_run_time(((T368*)_rc)); _rf=r368get_feature_with(((T368*)_rc),((T0*)ms86_473)); } int fBC388check_type=0; void r388check_type(T388* C){ if (fBC388check_type==0){ T0* _rc=NULL; T0* _bc=NULL; fBC388check_type=1; _bc=r388base_class(C); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _rc=r388run_class(C); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) { r388error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T388*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_388)); } /*FI*/} /*FI*/}} /*No:TYPE_DOUBLE.start_position*/ /*No:TYPE_DOUBLE.fz_inako*/ /*No:TYPE_DOUBLE.is_character*/ T0* r388written_mark(void){ T0* R=NULL; R=((T0*)ms11_473); return R; } /*No:TYPE_DOUBLE.is_run_type*/ T0* r388to_runnable(T388* C,T0* a1){ T0* R=NULL; R=(T0*)C; r388check_type(C); return R; } T0* r388generic_list(T388* C){ T0* R=NULL; r388fatal_error_generic_list(C); return R; } /*No:TYPE_DOUBLE.is_formal_generic*/ /*No:TYPE_DOUBLE.is_real*/ /*No:TYPE_DOUBLE.is_bit*/ void r388fatal_error_generic_list(T388* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } T0* r388smallest_ancestor(T388* C,T0* a1){ T0* R=NULL; T0* _rto=NULL; _rto=X291run_type(a1); /*IF*/if (X291is_integer(_rto)) { R=(T0*)C; } else if (X291is_real(_rto)) { R=(T0*)C; } else if (X291is_double(_rto)) { R=(T0*)C; } else { R=r657smallest_ancestor(((T657*)(r388type_double_ref())),_rto); } /*FI*/return R; } /*No:TYPE_DOUBLE.is_boolean*/ /*No:TYPE_DOUBLE.is_double*/ T0* r388run_class(T388* C){ T0* R=NULL; R=r604run_class((T0*)C); return R; } T0* r388run_time_mark(void){ T0* R=NULL; R=((T0*)ms11_473); return R; } int r388is_a_in(T388* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if ((r388written_mark())==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T368*)((T368*)a2)))->_current_type/*0*/; _t1=r388to_runnable(C,_ct); _t2=X291to_runnable(a1,_ct); /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) { R=1; } else { R=X291is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } T0* r388look_up_for(T388* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r388base_class(C))),a1,a2); return R; } /*No:TYPE_DOUBLE.expanded_initializer*/ /*No:TYPE_DOUBLE.us_double*/ /*No:TYPE_DOUBLE.fz_dot*/ /*No:TYPE_DOUBLE.is_generic*/ int fBC388used_as_reference=0; void r388used_as_reference(void){ if (fBC388used_as_reference==0){ fBC388used_as_reference=1; r388load_ref(((T0*)ms12_473)); }} int fBC364type_double_ref=0; T0*oBC364type_double_ref=NULL; T0* r388type_double_ref(void){ if (fBC364type_double_ref==0){ T0* R=NULL; T0* _double_ref=NULL; fBC364type_double_ref=1; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms12_473),NULL); _double_ref=(T0*)n; } {T657*n=malloc(sizeof(*n)); *n=M657; /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_double_ref); /*]*/ R=(T0*)n; } oBC364type_double_ref=R;} return oBC364type_double_ref;} /*No:TYPE_DOUBLE.is_reference*/ void r388error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } T0* r388base_class(T388* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=(((T388*)C))->_base_class_name/*4*/; /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } /*No:TYPE_DOUBLE.short_hook*/ /*No:TYPE_DOUBLE.is_any*/ /*No:TYPE_DOUBLE.base_class_name*/ /*No:TYPE_DOUBLE.is_expanded*/ /*No:TYPE_DOUBLE.is_basic_eiffel_expanded*/ /*No:TYPE_DOUBLE.is_none*/ /*No:TYPE_DOUBLE.is_integer*/ void r900short(T900* C){ r580hook(((T580*)(oBC364short_print)),((T0*)ms1_291)); /*[IRF3.6short_hook*/{T900* C1=C; r580a_class_name(((T580*)(oBC364short_print)),(((T900*)C1))->_base_class_name/*4*/); }/*]*/ r580hook(((T580*)(oBC364short_print)),((T0*)ms2_291)); } int r900has_creation(T900* C,T0* a1){ int R=0; r683add_position(X776start_position(a1)); r900error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T900*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84)); return R; } /*No:TYPE_POINTER.is_anchored*/ /*No:TYPE_POINTER.is_array*/ int r900is_a(T900* C,T0* a1){ int R=0; /*IF*/if (X291is_pointer(a1)) { R=1; } else { R=r605is_subclass_of(((T605*)(r900base_class(C))),X291base_class(a1)); /*IF*/if (R) { r900used_as_reference(); } /*FI*/} /*FI*//*IF*/if (!(R)) { r683add_type((T0*)C,((T0*)ms1_900)); r683add_type(a1,((T0*)ms67_470)); } /*FI*/return R; } /*No:TYPE_POINTER.run_type*/ /*No:TYPE_POINTER.is_pointer*/ /*No:TYPE_POINTER.is_string*/ /*No:TYPE_POINTER.is_like_feature*/ /*No:TYPE_POINTER.is_like_current*/ void r900make(T900* C,T0* a1){ {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms21_473),a1); C->_base_class_name=(T0*)n; } } /*No:TYPE_POINTER.nb_errors*/ /*No:TYPE_POINTER.us_item*/ void r900load_ref(T0* a1){ T0* _rf=NULL; T0* _rc=NULL; T0* _cn=NULL; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,a1,NULL); _cn=(T0*)n; } _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn))))); r368set_at_run_time(((T368*)_rc)); _rf=r368get_feature_with(((T368*)_rc),((T0*)ms86_473)); } /*No:TYPE_POINTER.us_pointer*/ int fBC364type_pointer_ref=0; T0*oBC364type_pointer_ref=NULL; T0* r900type_pointer_ref(void){ if (fBC364type_pointer_ref==0){ T0* R=NULL; T0* _pointer_ref=NULL; fBC364type_pointer_ref=1; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms22_473),NULL); _pointer_ref=(T0*)n; } {T657*n=malloc(sizeof(*n)); *n=M657; /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_pointer_ref); /*]*/ R=(T0*)n; } oBC364type_pointer_ref=R;} return oBC364type_pointer_ref;} int fBC900check_type=0; void r900check_type(T900* C){ if (fBC900check_type==0){ T0* _rc=NULL; T0* _bc=NULL; fBC900check_type=1; _bc=r900base_class(C); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _rc=r900run_class(C); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) { r900error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T900*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms3_900)); } /*FI*/} /*FI*/}} /*No:TYPE_POINTER.start_position*/ /*No:TYPE_POINTER.is_character*/ T0* r900written_mark(void){ T0* R=NULL; R=((T0*)ms21_473); return R; } /*No:TYPE_POINTER.is_run_type*/ T0* r900to_runnable(T900* C,T0* a1){ T0* R=NULL; R=(T0*)C; r900check_type(C); return R; } T0* r900generic_list(T900* C){ T0* R=NULL; r900fatal_error_generic_list(C); return R; } /*No:TYPE_POINTER.is_formal_generic*/ /*No:TYPE_POINTER.is_real*/ /*No:TYPE_POINTER.us_pointer_ref*/ /*No:TYPE_POINTER.is_bit*/ void r900fatal_error_generic_list(T900* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } T0* r900smallest_ancestor(T900* C,T0* a1){ T0* R=NULL; T0* _rto=NULL; _rto=X291run_type(a1); /*IF*/if (X291is_pointer(_rto)) { R=(T0*)C; } else { R=r657smallest_ancestor(((T657*)(r900type_pointer_ref())),_rto); } /*FI*/return R; } /*No:TYPE_POINTER.is_boolean*/ /*No:TYPE_POINTER.is_double*/ T0* r900run_class(T900* C){ T0* R=NULL; R=r604run_class((T0*)C); return R; } T0* r900run_time_mark(void){ T0* R=NULL; R=((T0*)ms21_473); return R; } int r900is_a_in(T900* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if ((r900written_mark())==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T368*)((T368*)a2)))->_current_type/*0*/; _t1=r900to_runnable(C,_ct); _t2=X291to_runnable(a1,_ct); /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) { R=1; } else { R=X291is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } T0* r900look_up_for(T900* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r900base_class(C))),a1,a2); return R; } /*No:TYPE_POINTER.expanded_initializer*/ /*No:TYPE_POINTER.fz_dot*/ /*No:TYPE_POINTER.is_generic*/ int fBC900used_as_reference=0; void r900used_as_reference(void){ if (fBC900used_as_reference==0){ fBC900used_as_reference=1; r900load_ref(((T0*)ms22_473)); }} /*No:TYPE_POINTER.is_reference*/ void r900error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } T0* r900base_class(T900* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=(((T900*)C))->_base_class_name/*4*/; /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } /*No:TYPE_POINTER.short_hook*/ /*No:TYPE_POINTER.is_any*/ /*No:TYPE_POINTER.base_class_name*/ /*No:TYPE_POINTER.is_expanded*/ /*No:TYPE_POINTER.is_basic_eiffel_expanded*/ /*No:TYPE_POINTER.is_none*/ /*No:TYPE_POINTER.is_integer*/ /*No:E_WHEN.when_list*/ void r843add_when_item_1(T843* C,T0* a1){ int _v=0; _v=(((T349*)((T349*)a1)))->_expression_value/*12*/; /*IF*/if (/*(IRF4.6includes*/r377includes_integer(((T377*)((((T270*)((T270*)(/*(IRF4.6e_inspect*/(((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*//*)*/))))->_when_list/*16*/)),_v)/*)*/) { r843err_occ(C,_v,r349start_position(((T349*)a1))); } else if (((((T843*)C))->_values/*20*/)==((void*)(NULL))) { {T353*n=malloc(sizeof(*n)); *n=M353; r353make(n,_v,_v); C->_values=(T0*)n; } /*[IRF3.6put*/{T353* C1=((T353*)((((T843*)C))->_values/*20*/)); int b1=1; int b2=_v; ((((T353*)C1))->_storage/*0*/)[(b2)-((((T353*)C1))->_lower/*12*/)]=(b1); }/*]*/ } else { r353force(((T353*)((((T843*)C))->_values/*20*/)),1,_v); } /*FI*/} T0* r843to_runnable_integer(T843* C,T0* a1){ T0* R=NULL; T0* _when_item=NULL; int _i=0; int _ne=0; /*IF*/if (((((T843*)C))->_when_list/*16*/)==((void*)(NULL))) { _ne=/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/; C->_when_list=a1; /*IF*/if (((((T843*)C))->_list/*4*/)==((void*)(NULL))) { r683add_position((((T270*)((T270*)(/*(IRF4.6e_inspect*/(((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*//*)*/))))->_start_position/*8*/); r843error((((T843*)C))->_start_position/*0*/,((T0*)ms12_843)); } else { _i=/*X631*/((int)(((T247*)((T247*)((((T843*)C))->_list/*4*/))))->_lower/*16*/); while (!(((_i)>(/*X631*/((int)(((T247*)((T247*)((((T843*)C))->_list/*4*/))))->_upper/*12*/)))||(((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)-(_ne))>(0)))) { _when_item=X274to_runnable_integer(/*X631*/((T0*)r247item(((T247*)((((T843*)C))->_list/*4*/)),_i)),(T0*)C); /*IF*/if ((_when_item)==((void*)(NULL))) { r843error((((T843*)C))->_start_position/*0*/,((T0*)ms11_843)); } else { /*X631*//*[IRF3.6put*/{T247* C1=((T247*)((((T843*)C))->_list/*4*/)); T0* b1=_when_item; int b2=_i; ((((T247*)C1))->_storage/*4*/)[(b2)-((((T247*)C1))->_lower/*16*/)]=(b1); }/*]*/ } /*FI*/_i=(_i)+(1); } } /*FI*//*IF*/if (((((T843*)C))->_compound/*12*/)!=((void*)(NULL))) { C->_compound=r592to_runnable(((T592*)((((T843*)C))->_compound/*12*/)),/*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*/); /*IF*/if (((((T843*)C))->_compound/*12*/)==((void*)(NULL))) { r843error((((T843*)C))->_start_position/*0*/,((T0*)ms11_843)); } /*FI*/} /*FI*/R=(T0*)C; } else { {T843*n=malloc(sizeof(*n)); *n=M843; r843from_e_when(n,(T0*)C); R=(T0*)n; } R=r843to_runnable_integer(((T843*)R),a1); } /*FI*/return R; } void r843make(T843* C,T0* a1,T0* a2){ C->_start_position=a1; C->_header_comment=a2; } /*No:E_WHEN.nb_errors*/ void r843add_when_item_2(T843* C,T0* a1){ int _i=0; int _u=0; int _l=0; _l=(((T372*)((T372*)a1)))->_lower_value/*20*/; _u=(((T372*)((T372*)a1)))->_upper_value/*16*/; /*IF*/if ((_l)>=(_u)) { r843error(r372start_position(((T372*)a1)),((T0*)ms8_843)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _i=_l; while (!((_i)>(_u))) { /*IF*/if (/*(IRF4.6includes*/r377includes_integer(((T377*)((((T270*)((T270*)(/*(IRF4.6e_inspect*/(((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*//*)*/))))->_when_list/*16*/)),_i)/*)*/) { r843err_occ(C,_i,r372start_position(((T372*)a1))); _i=(_u)+(1); } else { _i=(_i)+(1); } /*FI*/} } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T843*)C))->_values/*20*/)==((void*)(NULL))) { {T353*n=malloc(sizeof(*n)); *n=M353; r353make(n,_l,_u); C->_values=(T0*)n; } /*[IRF3.6set_all_with*/{T353* C1=((T353*)((((T843*)C))->_values/*20*/)); int b1=1; r567set_all_with((((T353*)C1))->_storage/*0*/,b1,((((T353*)C1))->_upper/*8*/)-((((T353*)C1))->_lower/*12*/)); }/*]*/ } else { r353force(((T353*)((((T843*)C))->_values/*20*/)),1,_l); r353force(((T353*)((((T843*)C))->_values/*20*/)),1,_u); r353set_slice_with(((T353*)((((T843*)C))->_values/*20*/)),1,_l,_u); } /*FI*/} /*FI*/} void r843from_e_when(T843* C,T0* a1){ T0* _when_item=NULL; int _i=0; C->_start_position=(((T843*)((T843*)a1)))->_start_position/*0*/; C->_list=X631twin((((T843*)((T843*)a1)))->_list/*4*/); _i=/*X631*/((int)(((T247*)((T247*)((((T843*)C))->_list/*4*/))))->_lower/*16*/); while (!((_i)>(/*X631*/((int)(((T247*)((T247*)((((T843*)C))->_list/*4*/))))->_upper/*12*/)))) { _when_item=X274twin(/*X631*/((T0*)r247item(((T247*)((((T843*)C))->_list/*4*/)),_i))); /*X274*//*[IRF3.3clear_e_when*/((((T349*)(((T349*)_when_item))))->_e_when)=(NULL); /*]*/ /*X631*//*[IRF3.6put*/{T247* C1=((T247*)((((T843*)C))->_list/*4*/)); T0* b1=_when_item; int b2=_i; ((((T247*)C1))->_storage/*4*/)[(b2)-((((T247*)C1))->_lower/*16*/)]=(b1); }/*]*/ _i=(_i)+(1); } C->_header_comment=(((T843*)((T843*)a1)))->_header_comment/*8*/; C->_compound=(((T843*)((T843*)a1)))->_compound/*12*/; } /*No:E_WHEN.values*/ /*No:E_WHEN.start_position*/ void r843err_occ(T843* C,int a1,T0* a2){ r683add_position((((T270*)((T270*)(/*(IRF4.6e_inspect*/(((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*//*)*/))))->_start_position/*8*/); /*[IRF3.6append*/{T0* b1=((T0*)ms9_843); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=r2to_string(a1); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r843error(a2,((T0*)ms10_843)); } /*No:E_WHEN.em1*/ /*No:E_WHEN.list*/ /*No:E_WHEN.em2*/ /*No:E_WHEN.set_compound*/ void r843add_value(T843* C,T0* a1){ T0* _element=NULL; {T349*n=malloc(sizeof(*n)); *n=M349; /*[IRF3.3make*/((((T349*)(n)))->_expression)=(a1); /*]*/ _element=(T0*)n; } /*IF*/if (((((T843*)C))->_list/*4*/)==((void*)(NULL))) { C->_list=se_ma247(1,_element); } else { X631add_last((((T843*)C))->_list/*4*/,_element); } /*FI*/} /*No:E_WHEN.current_type*/ /*No:E_WHEN.compound*/ /*No:E_WHEN.header_comment*/ void r843error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } int r843includes_integer(T843* C,int a1){ int R=0; R=((((((T843*)C))->_values/*20*/)!=((void*)(NULL)))&&(r353valid_index(((T353*)((((T843*)C))->_values/*20*/)),a1)))&&(r353item(((T353*)((((T843*)C))->_values/*20*/)),a1)); return R; } T0* r843to_runnable_character(T843* C,T0* a1){ T0* R=NULL; T0* _when_item=NULL; int _i=0; int _ne=0; /*IF*/if (((((T843*)C))->_when_list/*16*/)==((void*)(NULL))) { _ne=/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/; C->_when_list=a1; /*IF*/if (((((T843*)C))->_list/*4*/)==((void*)(NULL))) { r683add_position((((T270*)((T270*)(/*(IRF4.6e_inspect*/(((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*//*)*/))))->_start_position/*8*/); r843error((((T843*)C))->_start_position/*0*/,((T0*)ms12_843)); } else { _i=/*X631*/((int)(((T247*)((T247*)((((T843*)C))->_list/*4*/))))->_lower/*16*/); while (!(((_i)>(/*X631*/((int)(((T247*)((T247*)((((T843*)C))->_list/*4*/))))->_upper/*12*/)))||(((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)-(_ne))>(0)))) { _when_item=X274to_runnable_character(/*X631*/((T0*)r247item(((T247*)((((T843*)C))->_list/*4*/)),_i)),(T0*)C); /*IF*/if ((_when_item)==((void*)(NULL))) { r843error((((T843*)C))->_start_position/*0*/,((T0*)ms11_843)); } else { /*X631*//*[IRF3.6put*/{T247* C1=((T247*)((((T843*)C))->_list/*4*/)); T0* b1=_when_item; int b2=_i; ((((T247*)C1))->_storage/*4*/)[(b2)-((((T247*)C1))->_lower/*16*/)]=(b1); }/*]*/ } /*FI*/_i=(_i)+(1); } } /*FI*//*IF*/if (((((T843*)C))->_compound/*12*/)!=((void*)(NULL))) { C->_compound=r592to_runnable(((T592*)((((T843*)C))->_compound/*12*/)),/*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*/); /*IF*/if (((((T843*)C))->_compound/*12*/)==((void*)(NULL))) { r843error((((T843*)C))->_start_position/*0*/,((T0*)ms11_843)); } /*FI*/} /*FI*/R=(T0*)C; } else { {T843*n=malloc(sizeof(*n)); *n=M843; r843from_e_when(n,(T0*)C); R=(T0*)n; } R=r843to_runnable_character(((T843*)R),a1); } /*FI*/return R; } void r843add_slice(T843* C,T0* a1,T0* a2){ T0* _element=NULL; {T372*n=malloc(sizeof(*n)); *n=M372; r372make(n,a1,a2); _element=(T0*)n; } /*IF*/if (((((T843*)C))->_list/*4*/)==((void*)(NULL))) { C->_list=se_ma263(1,_element); } else { X631add_last((((T843*)C))->_list/*4*/,_element); } /*FI*/} /*No:E_WHEN.e_inspect*/ void r686get_started(T686* C){ T0* _p2=NULL; T0* _p1=NULL; int _i2=0; int _i1=0; _i1=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i1)==(0))) { r877get_started(((T877*)(r26item(((T26*)((((T686*)C))->_list/*12*/)),_i1))),(T0*)C); _i1=(_i1)-(1); } /*IF*/if (((((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/)>(1)) { _i2=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i2)==(1))) { _i1=1; while (!((_i1)==(_i2))) { _p1=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i1); _p2=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i2); r877multiple_check(((T877*)_p1),_p2); r877multiple_check(((T877*)_p2),_p1); _i1=(_i1)+(1); } _i2=(_i2)-(1); } } /*FI*/} T0* r686class_any(void){ if (fBC364class_any==0){ T0* R=NULL; fBC364class_any=1; R=r686class_with(((T0*)ms1_473)); oBC364class_any=R;} return oBC364class_any;} int r686has_parent(T686* C,T0* a1){ int R=0; T0* _bc=NULL; int _i=0; _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { _bc=X291base_class((((T877*)((T877*)(r26item(((T26*)((((T686*)C))->_list/*12*/)),_i)))))->_type/*4*/); /*IF*/if ((a1)==((void*)(_bc))) { R=1; _i=0; } else if (r605is_subclass_of_aux(((T605*)_bc),a1)) { R=1; _i=0; } else { _i=(_i)-(1); } /*FI*/} return R; } T0* r686class_with(T0* a1){ T0* R=NULL; R=r604get_class(a1); return R; } /*No:PARENT_LIST.fz_cnf*/ void r686up_to_any_in(T686* C,T0* a1){ T0* _bc=NULL; T0* _p=NULL; int _i=0; _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { _p=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); _bc=X291base_class((((T877*)((T877*)_p)))->_type/*4*/); /*IF*/if (!(r654fast_has(((T654*)a1),_bc))) { r654add_last(((T654*)a1),_bc); } /*FI*/_i=(_i)-(1); } _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { _p=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); _bc=X291base_class((((T877*)((T877*)_p)))->_type/*4*/); /*IF*/if ((_bc)!=((void*)(r686class_any()))) { r605up_to_any_in(((T605*)_bc),a1); } /*FI*/_i=(_i)-(1); } } void r686make(T686* C,T0* a1,T0* a2,T0* a3,T0* a4){ C->_base_class=a1; C->_heading_comment=a3; C->_start_position=a2; C->_list=a4; } void r686header_comment_for(T686* C,T0* a1){ int _i=0; _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!(((_i)==(0))||(((((T673*)((T673*)a1)))->_header_comment/*4*/)!=((void*)(NULL))))) { r605header_comment_for(((T605*)(X291base_class((((T877*)((T877*)(r26item(((T26*)((((T686*)C))->_list/*12*/)),_i)))))->_type/*4*/))),a1); _i=(_i)-(1); } } /*No:PARENT_LIST.start_position*/ T0* r686next_parent_for(T686* C,T0* a1,T0* a2){ T0* R=NULL; T0* _pbc=NULL; int _i=0; _i=1; while (!((R)==((void*)(a2)))) { R=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); _i=(_i)+(1); } R=NULL; while (!(((R)!=((void*)(NULL)))||((_i)>(r26count(((T26*)((((T686*)C))->_list/*12*/))))))) { R=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); _pbc=X291base_class((((T877*)((T877*)R)))->_type/*4*/); /*IF*/if ((_pbc)==((void*)(a1))) { } else if (r605is_subclass_of(((T605*)_pbc),a1)) { } else { R=NULL; } /*FI*/_i=(_i)+(1); } return R; } T0* r686first_parent_for(T686* C,T0* a1){ T0* R=NULL; T0* _pbc=NULL; int _i=0; _i=1; while (!((R)!=((void*)(NULL)))) { R=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); _pbc=X291base_class((((T877*)((T877*)R)))->_type/*4*/); /*IF*/if ((_pbc)==((void*)(a1))) { } else if (r605is_subclass_of(((T605*)_pbc),a1)) { } else { R=NULL; } /*FI*/_i=(_i)+(1); } return R; } void r686inherit_cycle_check(T686* C){ T0* _bc=NULL; T0* _p=NULL; int _i=0; _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { _p=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); _bc=X291base_class((((T877*)((T877*)_p)))->_type/*4*/); /*IF*/if ((_bc)==((void*)(NULL))) { r683add_position(r877start_position(((T877*)_p))); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms66_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { r605inherit_cycle_check(((T605*)_bc)); } /*FI*/_i=(_i)-(1); } } /*No:PARENT_LIST.em1*/ /*No:PARENT_LIST.list*/ T0* r686up_to_original(T686* C,T0* a1,T0* a2){ T0* R=NULL; int _i=0; T0* _new_fn=NULL; T0* _fn2=NULL; T0* _fn1=NULL; T0* _p2=NULL; T0* _p1=NULL; _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!(((_i)==(0))||((_fn1)!=((void*)(NULL))))) { _p1=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); _fn1=r877up_to_original(((T877*)_p1),a1,a2); _i=(_i)-(1); } while (!((_i)==(0))) { _p2=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); _fn2=r877up_to_original(((T877*)_p2),a1,a2); /*IF*/if ((_fn2)!=((void*)(NULL))) { _new_fn=r877do_rename(((T877*)_p2),a2); /*IF*/if (r877has_select_for(((T877*)_p2),_new_fn)) { _p1=_p2; _fn1=_fn2; } /*FI*/} /*FI*/_i=(_i)-(1); } /*IF*/if ((_fn1)!=((void*)(NULL))) { /*IF*/if ((X776to_string(_fn1))!=((void*)(X776to_string(a2)))) { R=r686repeated_inheritance(C,_p1,_fn1,a2); } else { R=_fn1; } /*FI*/} /*FI*/return R; } void r686collect_invariant(T686* C,T0* a1){ int _i=0; _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { r605collect_invariant(((T605*)(X291base_class((((T877*)((T877*)(r26item(((T26*)((((T686*)C))->_list/*12*/)),_i)))))->_type/*4*/))),a1); _i=(_i)-(1); } } T0* r686smallest_ancestor(T686* C,T0* a1){ T0* R=NULL; T0* _sa=NULL; T0* _p=NULL; int _i=0; _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { _p=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); _sa=X291run_type(r877smallest_ancestor(((T877*)_p),a1)); /*IF*/if ((R)==((void*)(NULL))) { R=_sa; } else { R=X291smallest_ancestor(_sa,R); } /*FI*//*IF*/if (X291is_any(R)) { _i=0; } else { _i=(_i)-(1); } /*FI*/} return R; } int r686has(T686* C,T0* a1){ int R=0; int _i=0; _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!((R)||((_i)==(0)))) { R=r877has(((T877*)(r26item(((T26*)((((T686*)C))->_list/*12*/)),_i))),a1); _i=(_i)-(1); } return R; } int r686has_redefine(T686* C,T0* a1){ int R=0; int _i=0; _i=1; while (!((R)||((_i)>((((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/)))) { R=r877has_redefine(((T877*)(r26item(((T26*)((((T686*)C))->_list/*12*/)),_i))),a1); _i=(_i)+(1); } return R; } T0* r686look_up_for(T686* C,T0* a1,T0* a2){ T0* R=NULL; T0* _f2=NULL; T0* _f1=NULL; T0* _p2=NULL; T0* _p1=NULL; int _i=0; _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!(((_f1)!=((void*)(NULL)))||((_i)==(0)))) { _p1=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); _f1=r877look_up_for(((T877*)_p1),a1,a2); _i=(_i)-(1); } while (!((_i)==(0))) { _p2=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); _f2=r877look_up_for(((T877*)_p2),a1,a2); /*IF*/if ((_f2)==((void*)(NULL))) { } else if ((_f1)==((void*)(_f2))) { } else if (!(X359is_merge_with(_f2,_f1,a1))) { r683add_position((((T686*)C))->_start_position/*4*/); r683add_position(X359start_position(_f1)); r683add_position(X359start_position(_f2)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms70_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (X359is_deferred(_f2)) { } else if (X359is_deferred(_f1)) { _f1=_f2; _p1=_p2; } else if (r877has_redefine(((T877*)_p1),a2)) { /*IF*/if (r877has_redefine(((T877*)_p2),a2)) { } else { r683add_position(X776start_position(a2)); r683add_position(r877start_position(((T877*)_p2))); r683add_position(X359start_position(_f2)); /*[IRF3.6append*/{T0* b1=((T0*)ms2_686); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/} else if (r877has_redefine(((T877*)_p2),a2)) { r683add_position(X776start_position(a2)); r683add_position(r877start_position(((T877*)_p1))); r683add_position(X359start_position(_f1)); /*[IRF3.6append*/{T0* b1=((T0*)ms2_686); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_fatal_error(((T683*)(oBC364eh))); } else { r683add_position(r877start_position(((T877*)_p2))); r683add_position(r877start_position(((T877*)_p1))); r683add_position(X359start_position(_f1)); r683add_position(X359start_position(_f2)); /*[IRF3.6append*/{T0* b1=((T0*)ms2_686); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/_i=(_i)-(1); } R=_f1; return R; } T0* r686repeated_inheritance(T686* C,T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _bc1=NULL; T0* _p2=NULL; int _i=0; _bc1=X291base_class((((T877*)((T877*)a1)))->_type/*4*/); _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { _p2=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); /*IF*/if ((a1)!=((void*)(_p2))) { /*IF*/if ((_bc1)==((void*)(X291base_class((((T877*)((T877*)_p2)))->_type/*4*/)))) { /*IF*/if ((X776to_string(r877do_rename(((T877*)_p2),a2)))==((void*)(X776to_string(a3)))) { R=a3; } else if ((X776to_string(r877do_rename(((T877*)a1),a2)))==((void*)(X776to_string(a3)))) { R=a3; } /*FI*/} /*FI*/} /*FI*/_i=(_i)-(1); } /*IF*/if ((R)==((void*)(NULL))) { R=a2; } /*FI*/return R; } /*No:PARENT_LIST.super*/ T0* r686clients_for(T686* C,T0* a1){ T0* R=NULL; T0* _cl=NULL; int _i=0; _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { _cl=r877clients_for(((T877*)(r26item(((T26*)((((T686*)C))->_list/*12*/)),_i))),a1); /*IF*/if ((R)==((void*)(NULL))) { R=_cl; } else if ((_cl)!=((void*)(NULL))) { R=r636append(((T636*)R),_cl); } /*FI*//*IF*/if (((R)!=((void*)(NULL)))&&(r636gives_permission_to_any(((T636*)R)))) { _i=0; } else { _i=(_i)-(1); } /*FI*/} return R; } T0* r686going_up(T686* C,T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _fn2=NULL; T0* _fn1=NULL; T0* _p2=NULL; T0* _p1=NULL; int _i=0; _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!(((_fn1)!=((void*)(NULL)))||((_i)==(0)))) { _p1=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); _fn1=r877going_up(((T877*)_p1),a1,a2,a3); _i=(_i)-(1); } while (!((_i)==(0))) { _p2=r26item(((T26*)((((T686*)C))->_list/*12*/)),_i); _fn2=r877going_up(((T877*)_p2),a1,a2,a3); /*IF*/if ((_fn2)!=((void*)(NULL))) { /*IF*/if (r877has_select_for(((T877*)_p2),_fn2)) { _p1=_p2; _fn1=_fn2; } /*FI*/} /*FI*/_i=(_i)-(1); } R=_fn1; return R; } void r686collect_for(T686* C,int a1,T0* a2){ int _i=0; _i=1; while (!((_i)>((((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/))) { r877collect_for(((T877*)(r26item(((T26*)((((T686*)C))->_list/*12*/)),_i))),a1,a2); _i=(_i)+(1); } } int r686is_a_vncg(T686* C,T0* a1,T0* a2){ int R=0; int _i=0; _i=(((T26*)((T26*)((((T686*)C))->_list/*12*/))))->_upper/*8*/; while (!((R)||((_i)==(0)))) { R=r877is_a_vncg(((T877*)(r26item(((T26*)((((T686*)C))->_list/*12*/)),_i))),a1,a2); _i=(_i)-(1); } return R; } /*No:PARENT_LIST.heading_comment*/ /*No:PARENT_LIST.count*/ /*No:PARENT_LIST.base_class*/ /*No:PARENT_LIST.fatal_error*/ /*No:PARENT_LIST.fz_ich*/ /*No:PARENT_LIST.us_any*/